package com.wj.core.dto;

import java.io.Serializable;
import java.util.Arrays;

/**
 * @author: wangjun
 * @create: 2018-06-01 
 **/
public class Request implements Serializable {

  private static final long serialVersionUID = -8264570963498226782L;

  private String requestId;
  //创建时间
  private long createMillisTime;
  //服务实现类名
  private String serviceImplName;
  //方法名
  private String methodName;
  //调用方法参数
  private Class<?>[] parameterTypes;
  //调用方法参数实例，顺序同上
  private Object[] parameters;

  public String getRequestId() {
    return requestId;
  }

  public void setRequestId(final String requestId) {
    this.requestId = requestId;
  }

  public String getServiceImplName() {
    return serviceImplName;
  }

  public void setServiceImplName(final String serviceImplName) {
    this.serviceImplName = serviceImplName;
  }

  public String getMethodName() {
    return methodName;
  }

  public void setMethodName(final String methodName) {
    this.methodName = methodName;
  }

  public Class<?>[] getParameterTypes() {
    return parameterTypes;
  }

  public void setParameterTypes(final Class<?>[] parameterTypes) {
    this.parameterTypes = parameterTypes;
  }

  public Object[] getParameters() {
    return parameters;
  }

  public void setParameters(final Object[] parameters) {
    this.parameters = parameters;
  }

  public long getCreateMillisTime() {
    return createMillisTime;
  }

  public void setCreateMillisTime(final long createMillisTime) {
    this.createMillisTime = createMillisTime;
  }

  @Override
  public String toString() {
    return "Request{" +
        "requestId='" + requestId + '\'' +
        ", createMillisTime=" + createMillisTime +
        ", serviceImplName='" + serviceImplName + '\'' +
        ", methodName='" + methodName + '\'' +
        ", parameterTypes=" + Arrays.toString(parameterTypes) +
        ", parameters=" + Arrays.toString(parameters) +
        '}';
  }
}
